import 'package:getx_scaffold/getx_scaffold.dart';
import 'package:oramemo/core/network/api_helper.dart';
import 'package:oramemo/core/network/dio_client.dart';
import 'package:oramemo/entity/requst/device_put_entity.dart';

import 'package:oramemo/model/inline_object2.dart';
import 'package:oramemo/model/inline_object.dart';
import 'package:oramemo/model/inline_object1.dart';

class DefaultApi {
  static final DefaultApi _instance = DefaultApi._internal();

  DefaultApi._internal();

  // 单例公开访问点
  factory DefaultApi() => _instance;

  /// 文件上传
  static const String commonUploadPostPath = '/common/upload';

  /// 用户信息
  static const String getInfoGetPath = '/getInfo';

  /// 登录
  static const String loginPostPath = '/login';

  /// 登出
  static const String logoutGetPath = '/logout';

  /// AiTest
  static const String mygptlifeChatCompletions1PostPath =
      '/mygptlife/chat/completions1';

  /// AiTestSelf
  static const String mygptlifeChatCompletionsPostPath =
      '/mygptlife/chat/completions';

  /// 配置查询
  static const String oraAppConfigQueryGetPath = '/ora/app_config/query';

  /// 参数设置
  static const String oraAppConfigSettingPostPath = '/ora/app_config/setting';

  /// 获取版本
  static const String oraAppVersionQueryPlatformGetPath =
      '/ora/app_version/query/:platform';

  /// 获取国家
  static const String oraCountryCodeQueryGetPath = '/ora/country_code/query';

  /// 绑定设备
  static const String oraDeviceBindPostPath = '/ora/device/bind';

  /// 通话记录
  static const String oraDeviceConversationListGetPath =
      '/ora/device_conversation/list';

  /// 我的设备
  static const String oraDeviceMineGetPath = '/ora/device/mine';

  /// 解绑设备
  static const String oraDeviceUnbindPostPath = '/ora/device/unbind';

  /// 会员等级
  static const String oraMemberLevelListAllGetPath =
      '/ora/member_level/list/all';

  /// 创建订单
  static const String oraOrderBuildPostPath = '/ora/order/build';

  /// 消费记录
  static const String oraTransactionListAllGetPath =
      '/ora/transaction/list/all';

  /// 添加白名单
  static const String oraUserWhiteAddPostPath = '/ora/user_white/add';

  /// 修改白名单
  static const String oraUserWhiteEditPostPath = '/ora/user_white/edit';

  /// 删除白名单
  static const String oraUserWhiteIdsDeletePath = '/ora/user_white/:ids';

  /// 白名单列表
  static const String oraUserWhiteQueryGetPath = '/ora/user_white/query';

  /// 添加文件夹
  static const String oraVoiceFolderAddPostPath = '/ora/voice_folder/add';

  /// 删除文件夹
  static const String oraVoiceFolderIdsDeletePath = '/ora/voice_folder/:ids';

  /// 修改文件夹
  static const String oraVoiceFolderPutPath = '/ora/voice_folder';

  /// 文件夹列表
  static const String oraVoiceFolderQueryGetPath = '/ora/voice_folder/query';

  /// 转写详情
  static const String oraVoiceRecordIdGetPath = '/ora/voice_record/:id';

  /// 移动语音文件
  static const String oraVoiceRecordMoviePostPath = '/ora/voice_record/movie';

  /// 转写记录
  static const String oraVoiceRecordQueryGetPath = '/ora/voice_record/query';

  /// 添加转写
  static const String oraVoiceRecordUploadPostPath = '/ora/voice_record/upload';

  /// 登录邮件
  static const String sendEmailGetPath = '/sendEmail';

  /// 短信（国内）
  static const String sendSmsChinaGetPath = '/sendSms/china';

  /// 短信（国际）
  static const String sendSmsInternationalGetPath = '/sendSms/international';

  /// 字典数据
  static const String systemDictDataTypeDictTypeGetPath =
      '/system/dict/data/type/:dictType';

  /// 上传头像
  static const String systemUserProfileAvatarPostPath =
      '/system/user/profile/avatar';

  /// 修改用户
  static const String systemUserProfilePutPath = '/system/user/profile';

  /// 添加任务
  static const String oraUserTaskAddPostPath = '/ora/user_task/add';

  /// 删除任务
  static const String oraUserTaskIdsDeletePath = '/ora/user_task/:ids';

  /// 修改任务
  static const String oraUserTaskPutPath = '/ora/user_task';

  /// 任务列表
  static const String oraUserTaskQueryGetPath = '/ora/user_task/query';

  /// 模式明细
  static const String oraCustomModel1GetPath = '/ora/custom_model/1';

  /// 模式列表
  static const String oraCustomModelListGetPath = '/ora/custom_model/list';

  /// 模式新增
  static const String oraCustomModelPostPath = '/ora/custom_model';

  /// 模式修改
  static const String oraCustomModelPutPath = '/ora/custom_model';

  /// 修改设备
  static const String oraDevicePutPath = '/ora/device';

  /// 添加关系
  static const String oraDeviceRelationAddPostPath = '/ora/device_relation/add';

  /// 删除关系
  static const String oraDeviceRelationIdsDeletePath =
      '/ora/device_relation/:ids';

  /// 修改关系
  static const String oraDeviceRelationPutPath = '/ora/device_relation';

  /// 关系列表
  static const String oraDeviceRelationQueryGetPath =
      '/ora/device_relation/query';

  /// 同意邀请
  static const String oraDeviceUserCircleAgreeInviteGetPath =
      '/ora/device_user/circle/agree_invite';

  /// 圈子用户
  static const String oraDeviceUserCircleGetPath = '/ora/device_user/circle';

  /// 删除圈子用户
  static const String oraDeviceUserCircleIdDeletePath =
      '/ora/device_user/circle/:id';

  /// 发送邀请
  static const String oraDeviceUserCircleInvitePostPath =
      '/ora/device_user/circle/invite';

  /// 修改用户权限
  static const String oraDeviceUserCirclePermissionPostPath =
      '/ora/device_user/circle/permission';

  /// 扫码入圈
  static const String oraDeviceUserCircleScaninPostPath =
      '/ora/device_user/circle/scanin';

  /// 消息明细
  static const String oraUserMessage1GetPath = '/ora/user_message/';

  /// 消息列表
  static const String oraUserMessageListGetPath = '/ora/user_message/list';

  /// 模式明细
  Future<T?> oraCustomModel1Get<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraCustomModel1GetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 模式列表
  Future<T?> oraCustomModelListGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraCustomModelListGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 模式新增
  Future<T?> oraCustomModelPost<T>({
    dynamic body,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraCustomModelPostPath,
      method: 'Post',
      queryParameters: {},
      data: body?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 模式修改
  Future<T?> oraCustomModelPut<T>({
    dynamic body,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraCustomModelPutPath,
      method: 'Put',
      queryParameters: {},
      data: body?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 修改设备
  Future<T?> oraDevicePut<T>({
    required DevicePutEntity entity,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDevicePutPath,
      method: 'Put',
      queryParameters: {},
      data: entity.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 添加关系
  Future<T?> oraDeviceRelationAddPost<T>({
    required String relationName,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceRelationAddPostPath,
      method: 'Post',
      queryParameters: {'relationName': relationName},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 删除关系
  Future<T?> oraDeviceRelationIdsDelete<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceRelationIdsDeletePath,
      method: 'Delete',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 修改关系
  Future<T?> oraDeviceRelationPut<T>({
    dynamic body,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceRelationPutPath,
      method: 'Put',
      queryParameters: {},
      data: body?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 关系列表
  Future<T?> oraDeviceRelationQueryGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceRelationQueryGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 同意邀请
  Future<T?> oraDeviceUserCircleAgreeInviteGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceUserCircleAgreeInviteGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 圈子用户
  Future<T?> oraDeviceUserCircleGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
    required String deviceId,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceUserCircleGetPath,
      method: 'Get',
      queryParameters: {'deviceId':deviceId},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 删除圈子用户
  Future<T?> oraDeviceUserCircleIdDelete<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
    required String id,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceUserCircleIdDeletePath.replaceAll(':id', id),
      method: 'Delete',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 发送邀请
  Future<T?> oraDeviceUserCircleInvitePost<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
    required String deviceId,
    required String userName,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceUserCircleInvitePostPath,
      method: 'Post',
      queryParameters: {'deviceId':deviceId,'userName':userName},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 修改用户权限
  Future<T?> oraDeviceUserCirclePermissionPost<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceUserCirclePermissionPostPath,
      method: 'Post',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 扫码入圈
  Future<T?> oraDeviceUserCircleScaninPost<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
    required String deviceId,
    required String userName,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceUserCircleScaninPostPath,
      method: 'Post',
      queryParameters: {'deviceId':deviceId,'inviteId':userName},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 消息明细
  Future<T?> oraUserMessage1Get<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
    required String id,
  }) async {
    return await ApiHelper.request<T>(
      path: oraUserMessage1GetPath+id,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 消息列表
  Future<T?> oraUserMessageListGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraUserMessageListGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 文件上传
  Future<T?> commonUploadPost<T>({
    MultipartFile? file,
    String? lang,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    final formData = FormData.fromMap({
      'file': file,
      'lang': lang,
    });
    return await ApiHelper.request<T>(
      path: commonUploadPostPath,
      method: 'Post',
      queryParameters: {},
      data: formData,
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 用户信息
  Future<T?> getInfoGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: getInfoGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 登录
  Future<T?> loginPost<T>({
    InlineObject? inlineObject,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: loginPostPath,
      method: 'Post',
      queryParameters: {},
      data: inlineObject?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 登出
  Future<T?> logoutGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: logoutGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// AiTest
  Future<T?> mygptlifeChatCompletions1Post<T>({
    dynamic body,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: mygptlifeChatCompletions1PostPath,
      method: 'Post',
      queryParameters: {},
      data: body?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// AiTestSelf
  Future<T?> mygptlifeChatCompletionsPost<T>({
    dynamic body,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: mygptlifeChatCompletionsPostPath,
      method: 'Post',
      queryParameters: {},
      data: body?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 配置查询
  Future<T?> oraAppConfigQueryGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraAppConfigQueryGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 参数设置
  Future<T?> oraAppConfigSettingPost<T>({
    dynamic body,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraAppConfigSettingPostPath,
      method: 'Post',
      queryParameters: {},
      data: body?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 获取版本
  Future<T?> oraAppVersionQueryPlatformGet<T>({
    required String platform,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraAppVersionQueryPlatformGetPath.replaceAll(':platform', platform),
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 获取国家
  Future<T?> oraCountryCodeQueryGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraCountryCodeQueryGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 绑定设备
  Future<T?> oraDeviceBindPost<T>({
    InlineObject1? inlineObject1,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceBindPostPath,
      method: 'Post',
      queryParameters: {},
      data: inlineObject1?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 通话记录
  Future<T?> oraDeviceConversationListGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceConversationListGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 我的设备
  Future<T?> oraDeviceMineGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceMineGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 解绑设备
  Future<T?> oraDeviceUnbindPost<T>({
    InlineObject2? inlineObject2,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraDeviceUnbindPostPath,
      method: 'Post',
      queryParameters: {},
      data: inlineObject2?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 会员等级
  Future<T?> oraMemberLevelListAllGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraMemberLevelListAllGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 创建订单
  Future<T?> oraOrderBuildPost<T>({
    Object? body,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraOrderBuildPostPath,
      method: 'Post',
      queryParameters: {},
      data: body?.toString(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 消费记录
  Future<T?> oraTransactionListAllGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraTransactionListAllGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 添加白名单
  Future<T?> oraUserWhiteAddPost<T>({
    String? whiteName,
    String? whitePhone,
    MultipartFile? file,
    String? lang,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    final formData = FormData.fromMap({
      'whiteName': whiteName,
      'whitePhone': whitePhone,
      'file': file,
      'lang': lang,
    });
    return await ApiHelper.request<T>(
      path: oraUserWhiteAddPostPath,
      method: 'Post',
      queryParameters: {},
      data: formData,
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 修改白名单
  Future<T?> oraUserWhiteEditPost<T>({
    String? id,
    String? whiteName,
    String? whitePhone,
    MultipartFile? file,
    String? lang,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    final formData = FormData.fromMap({
      'id': id,
      'whiteName': whiteName,
      'whitePhone': whitePhone,
      'file': file,
      'lang': lang,
    });
    return await ApiHelper.request<T>(
      path: oraUserWhiteEditPostPath,
      method: 'Post',
      queryParameters: {},
      data: formData,
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 删除白名单
  Future<T?> oraUserWhiteIdsDelete<T>({
    required String ids,
    String? lang = 'zh',
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    final formData = FormData.fromMap({
      'lang': lang,
    });
    return await ApiHelper.request<T>(
      path: oraUserWhiteIdsDeletePath.replaceAll(':ids', ids),
      method: 'Delete',
      data: formData,
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 白名单列表
  Future<T?> oraUserWhiteQueryGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraUserWhiteQueryGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 添加文件夹
  Future<T?> oraVoiceFolderAddPost<T>({
    String? folderName,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraVoiceFolderAddPostPath,
      method: 'Post',
      queryParameters: {'folderName': folderName},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 删除文件夹
  Future<T?> oraVoiceFolderIdsDelete<T>({
    required String ids,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraVoiceFolderIdsDeletePath.replaceAll(':ids', ids),
      method: 'Delete',
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 修改文件夹
  Future<T?> oraVoiceFolderPut<T>({
    dynamic body,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraVoiceFolderPutPath,
      method: 'Put',
      queryParameters: {},
      data: body?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 文件夹列表
  Future<T?> oraVoiceFolderQueryGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraVoiceFolderQueryGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 转写详情
  Future<T?> oraVoiceRecordIdGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraVoiceRecordIdGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 移动语音文件
  Future<T?> oraVoiceRecordMoviePost<T>({
    dynamic body,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraVoiceRecordMoviePostPath,
      method: 'Post',
      queryParameters: {},
      data: body?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 转写记录
  Future<T?> oraVoiceRecordQueryGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraVoiceRecordQueryGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 添加转写
  Future<T?> oraVoiceRecordUploadPost<T>({
    MultipartFile? file,
    String? deviceId,
    String? lang,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    final formData = FormData.fromMap({
      'file': file,
      'deviceId': deviceId,
      'lang': lang,
    });
    return await ApiHelper.request<T>(
      path: oraVoiceRecordUploadPostPath,
      method: 'Post',
      queryParameters: {},
      data: formData,
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 登录邮件
  Future<T?> sendEmailGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: sendEmailGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 短信（国内）
  Future<T?> sendSmsChinaGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
    required String phone,
  }) async {
    return await ApiHelper.request<T>(
      path: sendSmsChinaGetPath,
      method: 'Get',
      queryParameters: {'receiveAccount': phone, 'userType': '1'},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 短信（国际）
  Future<T?> sendSmsInternationalGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
    required String phone,
  }) async {
    return await ApiHelper.request<T>(
      path: sendSmsInternationalGetPath,
      method: 'Get',
      queryParameters: {'receiveAccount': phone, 'userType': '1'},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 字典数据
  Future<T?> systemDictDataTypeDictTypeGet<T>({
    required String dictType,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: systemDictDataTypeDictTypeGetPath.replaceAll(':dictType', dictType),
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 上传头像
  Future<T?> systemUserProfileAvatarPost<T>({
    MultipartFile? avatarfile,
    String? lang,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    final formData = FormData.fromMap({
      'avatarfile': avatarfile,
      'lang': lang,
    });
    return await ApiHelper.request<T>(
      path: systemUserProfileAvatarPostPath,
      method: 'Post',
      queryParameters: {},
      data: formData,
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 修改用户
  Future<T?> systemUserProfilePut<T>({
    Object? body,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: systemUserProfilePutPath,
      method: 'Put',
      queryParameters: {},
      data: body?.toString(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 添加任务
  Future<T?> oraUserTaskAddPost<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraUserTaskAddPostPath,
      method: 'Post',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 删除任务
  Future<T?> oraUserTaskIdsDelete<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraUserTaskIdsDeletePath,
      method: 'Delete',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 修改任务
  Future<T?> oraUserTaskPut<T>({
    InlineObject? inlineObject,
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraUserTaskPutPath,
      method: 'Put',
      queryParameters: {},
      data: inlineObject?.toJson(),
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }

  /// 任务列表
  Future<T?> oraUserTaskQueryGet<T>({
    bool isShowErrMsg = true,
    bool isShowLoading = false,
  }) async {
    return await ApiHelper.request<T>(
      path: oraUserTaskQueryGetPath,
      method: 'Get',
      queryParameters: {},
      isShowErrMsg: isShowErrMsg,
      isShowLoading: isShowLoading,
    );
  }
}
